home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / VGADOC4B.ZIP / DMPMEM.PAS < prev    next >
Pascal/Delphi Source File  |  1995-09-29  |  1KB  |  50 lines

  1. uses dos;
  2. const
  3.   hx:array[0..15] of char='0123456789ABCDEF';
  4. var
  5.   x,y:word;
  6.   f:file;
  7.   t:text;
  8.   rp:registers;
  9.  
  10.  
  11. function hex4(w:word):string;
  12. begin
  13.   hex4:=hx[w shr 12]+hx[hi(w) and 15]+hx[lo(w) shr 4]+hx[w and 15];
  14. end;
  15.  
  16. begin
  17.   x:=$c000;
  18.   while x<$f000 do
  19.   begin
  20.     if memw[x:0]=$aa55 then
  21.     begin
  22.       y:=mem[x:2];
  23.       assign(f,'dmp'+hex4(x)+'.rom');
  24.       rewrite(f,512);
  25.       if y>63 then
  26.       begin
  27.         blockwrite(f,mem[x:0],64);
  28.         inc(x,2048);
  29.         dec(y,64);
  30.       end;
  31.       blockwrite(f,mem[x:0],y);
  32.       close(f);
  33.       inc(x,y shl 5);
  34.     end
  35.     else inc(x,128);
  36.   end;
  37.   assign(t,'vectors.rom');
  38.   rewrite(t);
  39.   writeln(t,'INT 10h = '+hex4(memw[0:$42])+':'+hex4(memw[0:$40]));
  40.   writeln(t,'INT 6Dh = '+hex4(memw[0:$1b6])+':'+hex4(memw[0:$1b4]));
  41.   writeln(t,'State Table = '+hex4(memw[0:$4aa])+':'+hex4(memw[0:$4a8]));
  42.   for x:=0 to 7 do
  43.   begin
  44.     rp.ax:=$1130;
  45.     rp.bh:=x;
  46.     intr(16,rp);
  47.     writeln(t,'FNT'+chr(x+48)+' = '+hex4(rp.es)+':'+hex4(rp.bp));
  48.   end;
  49.   close(t);
  50. end.